Computing technology has contributed enormously to the advancement of humankind. Computing systems come in a wide variety of physical forms including desktop computers, laptop computers, personal digital assistants, telephones, and even devices that have not been conventionally thought of as computing systems such as, for example, refrigerators and automobiles. Thus, a computing system may be any device or system that has a processor and a memory of any type. Computing systems may even have constituent computing systems that collaborate together as in network systems. Accordingly, some computing systems may fit easily into the palm of the hand, while others may be distributed globally.
Many of the most commonly used applications rely on network technologies. Such applications include, for example, e-mail, instant messaging, web browsing, remote network access, electronic whiteboarding, voice-over-IP telephone communication, video conferencing, remote synchronization, and many others. Currently, there are many services that are offered over the Internet. The variety of such services are enumerable and are increasing daily. For example, there are search engine services, company locator services, stock quote services, e-mail services, remotes computer access services, on-line auction services, amongst many others.
Sometimes, the performance of a more complex task involves the services of multiple services in sequence. The output from one of the services is provided to the input of another service and so forth until the final result is achieved. The user input is provided to the first service recognizing that the user may be a human being or may be a computing system and/or one or more processes running on a computing system. That user input may need to be transformed into a format that is recognized by the first service. The final service provides the resulting data in a format that may need to be transformed prior to being presented to the end user. Furthermore, as one service communicates with the next service in the sequence, transformations may be needed in order to properly transform the data between services as well. Thus, various transformations may be made on input and output data in order to allow the services to communicate with the user and with each other.
Typically, the transformations are made using specific dedicated code for each of the transformations. Thus, code would be used to transform the user data into an appropriate format for input to the first service, code would be used between each of the services to perform appropriate transformations, and code would be used to transform the resultant data from the final service into a format understood by the user. The drafting of such code may be a time-consuming activity and require the skills of experienced software programmers.